Zk Rollups
Zk Rollups are a type of Layer 2 scaling solution that aim to address the challenges of Layer 2 development, such as Plasma and Channels. While these solutions can be used for specific use cases, generalizing them is difficult. In his blog post titled "Dawn of the Hybrid Layer 2 Protocol," Vitalik Buterin discusses the challenges of Layer 2 scaling technologies. In the concept of "Shadow Chain," introduced in a blog post from 2014, blocks are provisionally accepted and only finalized after a certain period of time. During this period, challenges can be raised against the provisionally accepted blocks. If a block is found to be invalid, the chain is reverted and penalties are imposed on the original issuer. This concept seems similar to the current Optimistic Rollups. It's amazing how this concept was proposed back in 2014, foreseeing the future. In the recent proposal of ZK Rollup 1, the validity of blocks is verified using ZKSNARK, allowing for similar functionality without the need for a challenge period. This can be considered as a form of Layer 2 with zero-knowledge proof. The image here illustrates the structure of a ZK Rollup package that contains hundreds of "internal transactions" that affect the state of the ZK Rollup system. The package, including the SNARK that proves the validity of all transitions, is compressed to about 100-300 bytes. To reduce the computational load, which is the most resource-intensive factor in Plasma = Layer2 (OPU, ZkR), data compression techniques can be used. Since data storage is cheaper than computation, transaction data can be compressed by replacing computation with Zero Knowledge Proof-based signatures. In ZK Rollup, each transaction is compressed to just 10 bytes, achieving a performance of 500 transactions per second, which is 30 times higher than the Layer 1 Ethereum chain. The signatures are verified through zero-knowledge proofs, eliminating the need to include them in the transaction data. Zero-Knowledge Proofs for Scaling offer two approaches. The first approach involves writing off-chain transaction bundles onto the main chain in a verifiable form, compressing the data size. An example of this approach is the idea of ZK Rollups, which use a type of zero-knowledge proof called ZKSNARK to verify the validity of blocks. Matter Labs is developing a scaling protocol called zkSync based on ZK Rollup, which aims to provide a high-quality user experience. The second approach involves using Recursive snarks to reduce the size of the blockchain. Cryptography and zero-knowledge proofs are well-suited for this purpose.